From 0091de63b4e515a183d05de9b3ae78febaa85175 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 26 Aug 2020 16:32:31 -0400 Subject: [PATCH] wayland: Fix return value of get_device_state We need to look a the position, not the child surface. --- gdk/wayland/gdksurface-wayland.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/gdk/wayland/gdksurface-wayland.c b/gdk/wayland/gdksurface-wayland.c index b6ff57a5b0..45769984ea 100644 --- a/gdk/wayland/gdksurface-wayland.c +++ b/gdk/wayland/gdksurface-wayland.c @@ -3170,21 +3170,12 @@ gdk_wayland_surface_get_device_state (GdkSurface *surface, double *y, GdkModifierType *mask) { - gboolean return_val; - - g_return_val_if_fail (surface == NULL || GDK_IS_SURFACE (surface), FALSE); - - return_val = TRUE; - - if (!GDK_SURFACE_DESTROYED (surface)) - { - GdkSurface *child; + if (GDK_SURFACE_DESTROYED (surface)) + return FALSE; - gdk_wayland_device_query_state (device, surface, &child, x, y, mask); - return_val = (child != NULL); - } + gdk_wayland_device_query_state (device, surface, NULL, x, y, mask); - return return_val; + return *x >= 0 && *y >= 0 && *x < surface->width && *y < surface->height; } static void -- 2.30.2